package com.sgb.kjwl.api.service;


import com.sgb.kjwl.model.ZulinMenuEntity;
import com.sgb.kjwl.model.entity.ParentAreaEntity;
import com.swgk.core.base.model.factory.BaseUrlInterceptor;
import com.swgk.core.util.PickSelectEntity;
import com.sgb.kjwl.model.entity.TwoLevelChildForPopWindowEntity;
import com.sgb.kjwl.model.entity.TwoLevelForPopWindowEntity;
import com.sgb.kjwl.model.entity.manage.TheEnterpriseOfAndVideoEntity;
import com.sgb.kjwl.model.entity.manage.TheEnterpriseOfEntity;
import com.sgb.kjwl.model.entity.enterprise.IpPickSelectEntity;
import com.sgb.kjwl.model.entity.manage.CompanyAssetsEntity;
import com.sgb.kjwl.model.entity.manage.CompanyTradesDetailEntity;
import com.sgb.kjwl.model.entity.manage.CompanyTradesListEntity;
import com.sgb.kjwl.model.entity.manage.EpAssestEntity;
import com.sgb.kjwl.model.entity.manage.EpAssestTypeEntity;
import com.sgb.kjwl.model.entity.manage.IndustryHonoursEntity;
import com.sgb.kjwl.model.entity.manage.SpecialQualificationEntity;
import com.sgb.kjwl.model.entity.manage.TheEnterpriseOfEntityForManageList;
import com.sgb.kjwl.model.entity.manage.TradeHonorEntity;
import com.sgb.kjwl.model.entity.manage.IPDetailEntity;
import com.swgk.core.base.model.entity.VideoBean;
import com.swgk.core.base.model.entity.ListResponse;
import com.swgk.core.base.model.entity.BaseEntity;

import java.util.List;
import java.util.Map;

import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.Query;
import retrofit2.http.Url;

/**
 * 企业经营
 */

public interface ManageAPI {
    //企业大全查询分类列表
    @GET("v1/app/comService/typeList")
    Call<BaseEntity<List<PickSelectEntity<List<PickSelectEntity>>>>> getTypeList();

    //注册资金
    @GET("v1/app/recommendedEnterprises/findCapitalList")
    Call<BaseEntity<List<PickSelectEntity>>> findCapitalList();

    //企业大全列表
    @POST("v1/app/comService/comList")
    Call<BaseEntity<ListResponse<List<TheEnterpriseOfEntity>>>> getComList(@Body Map map);

    @POST("v1/app/comService/comList")
    Call<BaseEntity<ListResponse<List<TheEnterpriseOfEntityForManageList>>>> getComList2(@Body Map map);

    //企业大全列表
    @POST("v1/app/comService/comList")
    Call<BaseEntity<ListResponse<List<TheEnterpriseOfAndVideoEntity>>>> getComList1(@Body Map map);

    //首页推荐列表
    @POST("v1/app/recommendedEnterprises/reList")
    Call<BaseEntity<List<TheEnterpriseOfEntity>>> getRecommendedList(@Body Map map);

    //首页最新入驻列表
    @POST("v1/app/comService/newestComList")
    Call<BaseEntity<List<TheEnterpriseOfEntity>>> getNewestComList(@Body Map map);

    @GET("v1/app/dynamic/dynamicList")
    Call<BaseEntity<List<IpPickSelectEntity>>> getCompanyTradesType();

    @POST("v1/app/dynamic/findNewsByCompanyNo")
    Call<BaseEntity<ListResponse<List<CompanyTradesListEntity>>>> getCompanyTradesList(@Body Map<String, Object> map);

    @POST("v1/app/dynamic/detail")
    Call<BaseEntity<CompanyTradesDetailEntity>> getCompanyTradesDetail(@Body Map<String,Object> id);
    //资产类型
    @GET("v1/app/asset/getTypes")
    Call<BaseEntity<List<EpAssestTypeEntity>>> getAssestTypes();

    //资产列表
    @POST("v1/app/asset/findManagementList")
    Call<BaseEntity<ListResponse<List<EpAssestEntity>>>> getAssestList(@Body Map map);


    //资质类型
    @GET("v1/app/companyInfoQualification/getQualifyTypeTreeList")
    Call<BaseEntity<List<ParentAreaEntity<List<ParentAreaEntity>>>>> getQualifyTypeTreeList();

    //专项资质筛选列表
    @POST("v1/app/companyInfoQualification/findMyListByCompanyInfoNoByDb")
    Call<BaseEntity<ListResponse<List<SpecialQualificationEntity>>>> findMyListByCompanyInfoNo(@Body Map map);

    //商标类型
    @GET("v1/app/intellectualProperty/getTrademarkType")
    Call<BaseEntity<List<PickSelectEntity>>> getTrademarkType();

    //专利类型
    @GET("v1/app/intellectualProperty/getPatentType")
    Call<BaseEntity<List<PickSelectEntity>>> getPatentType();

    //版权类型
    @GET("v1/app/intellectualProperty/getRightType")
    Call<BaseEntity<List<PickSelectEntity>>> getRightType();

    //商标、专利、版权筛选列表
    @POST("v1/app/intellectualProperty/findPropertyRight")
    Call<BaseEntity<ListResponse<List<IPDetailEntity>>>> findShopPropertyRight(@Body Map map);

    //行业分类
    @GET("v1/app/intellectualProperty/getAllCategory")
    Call<BaseEntity<List<IpPickSelectEntity>>> getTradeType();

//    @Headers({BaseUrlInterceptor.HEADERS_URL_JY, "tokenType:pc"})
    @GET("v1/app/comService/getAll")
    Call<BaseEntity<List<TwoLevelChildForPopWindowEntity<List<TwoLevelForPopWindowEntity>>>>> getCompanyTradeType();

    @GET("v1/app/honor/honorlist")
    Call<BaseEntity<List<PickSelectEntity<List<PickSelectEntity>>>>> getHonorCategory();

    //经营Menu
    @GET("v1/app/comService/getCompanyServiceIcon")
    Call<BaseEntity<List<List<ZulinMenuEntity>>>> getMenuData();

    //荣誉类型
    @GET("v1/app/honor/honorlist")
    Call<BaseEntity<List<PickSelectEntity>>> getHonorType();

    //荣誉列表
    @POST("v1/app/honor/findIndustryHonorList")
    Call<BaseEntity<ListResponse<List<TradeHonorEntity>>>> getHonorList(@Body Map map);

    @POST("v1/app/dynamic/findCompanyNewsByCompanyNo")
    Call<BaseEntity<ListResponse<List<CompanyTradesListEntity>>>> getCompanyTrends(@Body Map<String,Object> map);

    @POST("v1/app/companyInfoQualification/findShopQualifications")
    Call<BaseEntity<ListResponse<List<SpecialQualificationEntity>>>> getSpecialQualification(@Body Map<String,Object> map);

    @POST("v1/app/honor/findSiteHonorList")
    Call<BaseEntity<ListResponse<List<IndustryHonoursEntity>>>> getIndustryHonours(@Body Map<String,Object> map);

    @POST("v1/app/asset/findCompanyManagementList")
    Call<BaseEntity<ListResponse<List<CompanyAssetsEntity>>>> getCompanyAssets(@Body Map<String,Object> map);

    @GET("v1/app/asset/getTypes")
    Call<BaseEntity<List<IpPickSelectEntity>>> getCompanyAssetsType();

    @GET("v1/app/intellectualProperty/getTrademarkType")
    Call<BaseEntity<List<IpPickSelectEntity>>> getTrademarkTypeOptionForShop();

    @GET("v1/app/intellectualProperty/getPatentType")
    Call<BaseEntity<List<IpPickSelectEntity>>> getPatentTypeOptionForShop();

    @GET("v1/app/intellectualProperty/getRightType")
    Call<BaseEntity<List<IpPickSelectEntity>>> getCopyRightTypeOptionForShop();

    @POST("v1/app/intellectualProperty/findShopPropertyRight")
    Call<BaseEntity<ListResponse<List<IPDetailEntity>>>> getTrademarkListForShop(@Body Map<String,Object> map);

    @Headers({BaseUrlInterceptor.HEADERS_URL_JY, "tokenType:pc"})
    @POST("v1/app/recommendedEnterprises/findPersonNum")
    Call<BaseEntity<List<PickSelectEntity>>> getPersonNumber();

    @POST("v1/app/comService/getBusinessModel")
    Call<BaseEntity<List<PickSelectEntity>>> getType();

    //领域分类
    @GET("v1/app/intellectualProperty/getFieldClassifyType")
    Call<BaseEntity<List<PickSelectEntity>>> getFieldClassifyType();

    //专利状态
    @GET("v1/app/intellectualProperty/getPatentStatus")
    Call<BaseEntity<List<PickSelectEntity>>> getPatentStatus();

    @GET("v1/app/companyInfoQualification/findProvinceRecordUnit")
    Call<BaseEntity<List<ParentAreaEntity<List<ParentAreaEntity>>>>> getDepartment();

    @GET("v1/app/dynamic/dynamicList")
    Call<BaseEntity<List<IpPickSelectEntity>>> getDynamicList();

    @POST("v1/app/comService/userFocus")
    Call<BaseEntity> follow(@Body Map<String,Object> map);

    @GET("v1/app/comService/knowledgeSharing")
    Call<BaseEntity<ListResponse<List<VideoBean>>>> getManageVideoList(@Query("limit") int limit, @Query("page") int page, @Query("name") String name, @Query("parentName") String parentName);
}
